/*
 * @Author: Hp_lucky 1063512385@qq.com
 * @Date: 2024-08-28 11:36:48
 * @LastEditors: Hp_lucky 1063512385@qq.com
 * @LastEditTime: 2024-10-24 15:56:08
 * @FilePath: \cocos_frame\assets\script\src\Game\Config\GameEnum.ts
 */
/** 地图-界面层级 */
export enum MapLayerType {
  MIN = 0,
  DEFAULT,
  //
  MAX,
}

/** 界面层级 */
export enum LayerIndexType {
  MIN = 0,
  DEFAULT,
  //
  MAX,
}

/** 常用图片资源路径 */
export enum ImagePath {
  /** 通用资源图片 */
  common = 'public/sprite/common/',
  /** 通用按钮图片 */
  button = 'public/sprite/button/',
  /** 通用icon */
  icon = 'public/sprite/icon/',
  /** 图案资源 */
  symbol_icon = 'public/sprite/symbol/',
  /** 图案资源 */
  symbol_atlas = 'public/sprite/symbol/symbolAtlas',
  /** 道具类资源 */
  goods_icon = 'public/sprite/',
  /** goods底框 */
  itemgrid_tlas = 'public/sprite/grid/itemGridAtlas',
  /** 卡牌底框 */
  cardgrid_atlas = 'public/sprite/grid/cardGridAtlas',
  /** 秘宝底框 */
  relicgrid_atlas = 'public/sprite/grid/relicGridAtlas',
  /** 图鉴底框 */
  guidegrid_atlas = 'public/sprite/grid/guideGridAtlas',
  /** 皮肤图集 */
  attire_atlas = 'public/sprite/attire/attireAtlas',
  /** 装备图集 */
  artifact_atlas = 'public/sprite/artifact/artifactAtlas',
  /** 装备底框图集 */
  artifactBg_atlas = 'public/sprite/grid/artifactGridAtlas',
  guide_monster_atlas = 'public/sprite/guide/GuideMonsterAtlas',
  levelic_atlas = 'public/sprite/levelIcon/levelIconAtlas',
  message_atlas = 'public/sprite/message/dialogAtlas',
  ranknumber_atlas = 'public/sprite/rank/ranknumberAtlas',
  grid_bg = 'public/sprite/grid/',
  /** 特效资源 */
  effect = 'public/effect/',
  /** 飞行子弹资源 */
  weaponSkin = 'public/sprite/weaponSkin/',
  /** 选关icon资源 */
  levelIcon = 'public/sprite/selectlevel/',

  mask_atlas = 'resources/sprite/game/bottle/state/lianziAtlas',
  slot_lego_atlas = 'resources/sprite/game/slot/lego/slot_legoAtlas',
  bottle_lego_atlas = 'resources/sprite/game/bottle/lego/bottle_legoAtlas',
  slot_outline_atlas = 'resources/sprite/game/slot/lego/slot_outlineAtlas',
}

// eslint-disable-next-line @typescript-eslint/no-namespace
export namespace GameEventType {
  export const REFRESH_COIN = 'REFRESH_COIN';
  export const REFRESH_WIN_COMBE = 'REFRESH_WIN_COMBE';
  export const SHOW_GM = 'SHOW_GM';
  export const MAIN_CHECK_FINISH = 'MAIN_CHECK_FINISH';
  export const MAIN_USE_PROP = 'MAIN_USE_PROP';
  export const MAIN_CLEAN_BOLLET = 'MAIN_CLEAN_BOLLET';
  export const MAIN_EXEC_SOLUTION = 'MAIN_EXEC_SOLUTION';
  export const MAIN_UNLOCK_BOTTLE = 'MAIN_UNLOCK_BOTTLE';
  export const MAIN_NEXT_WAKE = 'MAIN_NEXT_WAKE';
  export const MAIN_CREATE_FLY_BLOCK = 'MAIN_CREATE_FLY_BLOCK';
  export const MAIN_RELEASE_FLY_BLOCK = 'MAIN_RELEASE_FLY_BLOCK';
  export const MAIN_TO_FLY_BLOCK = 'MAIN_TO_FLY_BLOCK';
  export const MAIN_PLAY_PARTICLE = 'MAIN_PLAY_PARTICLE';

  export const MAIN_UPDATE_PROGRESS = 'MAIN_UPDATE_PROGRESS';
  export const MAIN_RESETART_GAME = 'MAIN_RESETART_GAME';
  export const MAIN_QUIT_GAME = 'MAIN_QUIT_GAME';

  export const MAIN_CREATE_BUTTLE = 'MAIN_CREATE_BUTTLE';
  export const MAIN_RECOVER = 'MAIN_RECOVER';
  export const MAIN_REPAIR = 'MAIN_REPAIR';
}

/** 常用奖励状态 */
export enum RewardStatus {
  /** 可领取/已完成 */
  CAN_RECEIVE = 1,
  /** 已解锁/未领取/未完成 */
  UNRECEIVE = 2,
  /** 未解锁 */
  UNLOCK = 4,
  /** 已领取 */
  RECEIVED = 8,
  /** 已过期 */
  EXPIRED = 16,
}

export enum EasingType {
  linear = 'linear',
  smooth = 'smooth',
  fade = 'fade',
  constant = 'constant',
  quadIn = 'quadIn',
  quadOut = 'quadOut',
  quadInOut = 'quadInOut',
  quadOutIn = 'quadOutIn',
  cubicIn = 'cubicIn',
  cubicOut = 'cubicOut',
  cubicInOut = 'cubicInOut',
  cubicOutIn = 'cubicOutIn',
  quartIn = 'quartIn',
  quartOut = 'quartOut',
  quartInOut = 'quartInOut',
  quartOutIn = 'quartOutIn',
  quintIn = 'quintIn',
  quintOut = 'quintOut',
  quintInOut = 'quintInOut',
  quintOutIn = 'quintOutIn',
  sineIn = 'sineIn',
  sineOut = 'sineOut',
  sineInOut = 'sineInOut',
  sineOutIn = 'sineOutIn',
  expoIn = 'expoIn',
  expoOut = 'expoOut',
  expoInOut = 'expoInOut',
  expoOutIn = 'expoOutIn',
  circIn = 'circIn',
  circOut = 'circOut',
  circInOut = 'circInOut',
  circOutIn = 'circOutIn',
  elasticIn = 'elasticIn',
  elasticOut = 'elasticOut',
  elasticInOut = 'elasticInOut',
  elasticOutIn = 'elasticOutIn',
  backIn = 'backIn',
  backOut = 'backOut',
  backInOut = 'backInOut',
  backOutIn = 'backOutIn',
  bounceIn = 'bounceIn',
  bounceOut = 'bounceOut',
  bounceInOut = 'bounceInOut',
  bounceOutIn = 'bounceOutIn',

  /** 自定义 */
  //TODO
}

export interface TweenTarget {
  string?: string;
  number?: number;
}

/** 物品常用id */
export enum GoodsType {
  refreshCoin = 100,
  deleteCoin = 101,
  Gold = 102,
  Trophy = 10002,
  ResMax = 20000,
}

/** 局内buff */
export enum TempBuff {
  /** 行动点 */
  Energy = 'energy',
  /** 初始格子数 */
  Grid = 'grid',
  /** 幸运值 */
  Lucky = 'lucky',
  /** 局外灵魂获取率 */
  GoldEfficiency = 'goldefficiency',
  /** 局内金币获取率 */
  SoulEfficiency = 'soulefficiency',
  /** 最终伤害 */
  DamageBonus = 'damagebonus',
  /** 战后恢复血量 */
  HealAfterBattle = 'HealAfterBattle',
}

// eslint-disable-next-line @typescript-eslint/no-namespace
export namespace RequestUrl {
  export const api_url: string = 'https://xiaowugui.cygame666.cn:3003';
  /** 登录 */
  export const login = api_url + '/login';

  /** 获取平台经典模式排行榜 */
  export const LEADERBOARD = api_url + '/leaderboard';
  /** 上传平台经典模式分数 */
  export const LEADERBOARD_ADD = api_url + '/leaderboard/add';
  /** 更新经典模式 */
  export const LEADERBOARD_UPDATE = api_url + '/leaderboard/updateData';
  /** 自己平台经典模式排名 */
  export const LEADERBOARD_PLAYER = api_url + '/leaderboard/player';
  /** 获取平台模式排行榜分页 */
  export const LEADERBOARD_PAGE = api_url + '/leaderboard/page';
  /** 更新排行榜分数 */
  export const LEADERBOARD_WINSCORE = api_url + '/leaderboard/winScore';
  /** 创建用户云存档 */
  export const USERS_CREATE = api_url + '/users/create';
  /** 获取用户云存档数据 */
  export const USERS_USER = api_url + '/users/user';
  /** 更新用户云存档数据 */
  export const USERS_UPDATE = api_url + '/users/update';
  /** 获取用户信息 */
  export const USERS_USERINFO = api_url + '/users/userinfo';
  /** 更新用户云存档数据 */
  export const USERS_UPDATEINFOCACHE = api_url + '/users/updateinfocache';
}
export enum GEEvent {
  /** 游戏启动 */
  GAME_START = 'gameStart',
  /** 首页加载时长 */
  LOAD = 'load',
  /** 进到游戏 */
  LOGIN = 'logIn',
  /** 广告展示 */
  AD_SHOW = 'adShow',
  /** 广告展示结束 */
  AD_SHOW_END = 'adShowEnd',
  /** 在线时长 */
  ONLINE_TIME = 'onlineTime',
  /** 新手引导 */
  GUIDE = 'guide',
  /** 主线章节挑战 */
  STAGE_CHALLENGE = 'stageChallenge',
  /** 货币变动 */
  MONEY_CHANGE = 'moneyChange',
  /** 每日商场购买 */
  DAILY_SHOP_BUY = 'dailyShopBuy',
  /** 商场购买 */
  SHOP_BUY = 'shopBuy',

  ENTER_STAGE = 'enterStage',
}

export enum UserInfo {
  FIRST_OPEN_DATE = 'firstOpenDate',
  ACCU_ADS = 'accuAds',
  ACTIVE_DAYS = 'activeDays',
  MAX_STAGE = 'maxStage',
}

export enum RecordType {
  START = 'Start',
  PAUSE = 'Pause',
  RESUME = 'Resume',
  STOP = 'Stop',
  DESTROY = 'Destroy',
}

export enum TimeCountType {
  onlineTime = 'onlineTime',
}

export enum MenuIndex {
  // /** 神器界面 */
  // intensify = 0,
  /** 图鉴界面 */
  guide = 0,
  /** 装备界面 */
  equip,
  /** 关卡界面 */
  level,
  /** 天赋界面 */
  talent,
  /** 活动界面 */
  activity,
  // /** 里程碑界面 */
  // trophy = 2,
}

/** 全局属性 */
export enum GlobalAttr {
  /** 战斗后恢复血量 */
  RESUME_HP_AFTER_BATTLE = 'resume_hp_after_battle',
  DAMAGE_BOUNS = 'damage_bonus',
  GRID = 'grid',
  LUCKY = 'lucky',
  SOUL_EFFICIENCY = 'soulefficiency',
  GOLD_EFFICIENCY = 'goldefficiency',
  REFRESH_COIN = 'refreshcoin',
  DELETE_COIN = 'deletecoin',
  ENERGY = 'energy',
}

export enum LegoAni {
  /** 点击 */
  click = 'click',
  /** 点击后常态 */
  click_standby = 'click_standby',
  /** 完成 */
  complete = 'complete',
  /** 冻住 */
  freeze = 'freeze',
  /** 冻住 */
  freeze_idle = 'freeze_idle',
  /** 静止 */
  idle = 'idle',
  /** 解冻 */
  thaw = 'thaw',
  /** 静止 */
  black_idle = 'black_idle',
  /** 静止 */
  black_off = 'black_off',

  complete_shadow = 'complete_shadow',
  complete_shadow_idle = 'complete_shadow_idle',
}

/** 瓶子状态 */
export enum BlockState {
  /** 无状态 */
  None = 'None',
  /** 选中 */
  Selected = 'Selected',
  /** 动画中 */
  Tweening = 'Tweening',
  /** 释放 */
  Release = 'Release',
}
